Le module d’importation de données permet de créer des dizaines d’éléments (organisation, évènement, …) de manière automatisée. C’est un outil efficace si vous avez, par exemple, un listing d’associations que vous souhaitez référencer dans Communecter.
Pour effectuer toutes ces actions il vous faudra le statut d’Admin Public. Demandez le sur le canal #codev_open du chat.
La première étape consiste à organiser les données en votre possession (par exemple la liste des associations de votre commune) pour qu’elles soient interprétables par le module d’import.
Pour cela, vous pouvez les mettre dans un tableau ou remplir un fichier json. Dans tous les cas on ne peut importer qu’un seul type d’[élément](/2 - Utiliser l’outil/Fonctionnalités/Concepts/elements.md) à la fois (organisations, citoyens, événements, ou projets).
Pour les organisations il faudra au minima le nom, le type (ex: entreprise), la ville, le code postal et le pays de chacune des organisations.
\n et Remplacer par un espace / Tout remplacer). Exemple dans Google Sheets :
URL : lien vers un fichier JSON disponible en ligneFILE : fichier CSV ou JSON présent sur votre ordinateurPour les fichiers JSON, le champ "Path to Elements" indique où se trouve la données pertinentes.
Pour le code JSON suivant, la donnée pertinente se trouve dans le tableau "features". Dans ce cas de figure, il faut donc mettre "features" dans le champ "Path to Element".
{
"type":"FeatureCollection",
"features":[
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[
55.433699,
-21.259772
]
},
"properties":{
"name":"Damien Grondin",
"username":"Femu",
"img":"http:\/\/127.0.0.1\/ph\/upload\/communecter\/citoyens\/5880b24a8fe7a1a65b8b456b\/1489667898_linkpkm.jpg"
}
}
]
}
Si vous avez utilisé le fichier type pas besoin de lire cette partie, il suffit de sélectionner le mapping "Organisation (standard V2)".
Le mapping consiste à associer les champs de votre tableau avec les termes que communecter utilise pour définir les informations (cf. ontologie PH).
test avec 5 éléments pour vérifier qu’il n’y a pas d’erreurs.Test pour lancer la conversionSauvegardez le json et cliquez sur Page d'ajout des donnéeskey permet d’identifier vos éléments ce qui permettra, si besoin, de [créer une carte](/2 - Utiliser l’outil/Fonctionnalités/network.md) interactive contenant tous vos éléments.Mettre à jour à mon mapping est utile si vous avez un fichier type qui est propre à votre projetLe module d’import permet d’injecter vos données préalablement convertie dans communecter. Seul le format JSON est autorisé.
.zip créée par le convertisseurSaveCities.json contient quelque chose] Choisissez Ville et sélectionnez le fichierimportfileXXX.jsonLier les entités sur Oui et cherchez l’élément qui englobera celles que vous importez.Liste des codes pays (FR, EN, RE, …) : liste complète
Le module d’importation réalise les étapes suivantes pour géocoder une adresse :
Dans le module Recherche de Communecter il y a des thématiques (ex : déchets, économie, citoyenneté, …) regroupant tous les éléments ayant un tag parmi la liste de tags associé à la thématique en question. Par exemple quand on clique sur "Biodiversité" on y trouve les éléments ayant pour tag #biodiversite bien sûr, mais aussi #environnement ou #ecologie.
Cette liste est aujourd’hui définie par les développeurs.
{
"\_id" : ObjectId("STRING"),
"name" : "STRING",
"email" : "STRING",
"type" : "STRING",
"address" : {
"@type": "PostalAddress",
"postalCode" : "STRING",
"addressLocality" : "STRING",
"codeInsee" : "STRING",
"streetAddress" : "STRING",
"addressCountry" : "STRING",
"regionName": "STRING",
"depName": "STRING"
},
"addresses" : [
"address"
],
"geo" : {
"latitude" : "FLOAT",
"longitude" : "FLOAT",
"@type": "GeoCoordinates",
},
"geoPosition": {
"type": "Point",
"coordinates": [
"latitude -> FLOAT",
"longitude -> FLOAT"
]
},
"description" : "STRING",
"shortDescription" : "STRING",
"url" : "STRING",
"image" : "STRING",
"urlFacebook" : "STRING",
"urlTwitter" : "STRING",
"source" : {
"id" : "STRING",
"url" : "STRING",
"key" : "STRING",
"keys": [
"STRING"
],
"insertOrign": "STRING",
"update" : "DATETIME"
},
"tags" : [
"STRING"
],
"telephone" : {
"fixe" : [
"STRING"
],
"mobile" : [
"STRING"
],
"fax" : [
"STRING"
]
},
"contacts" : [
{
"name" : "STRING",
"role" : "STRING",
"telephone" : [
"STRING"
],
"email" : "STRING"
}
],
"preferences" : {
"isOpenData" : "BOOLEAN",
"isOpenEdition" : "BOOLEAN",
},
"state" : "STRING",
"profilImageUrl" : "STRING",
"profilThumbImageUrl" : "STRING",
"profilMarkerImageUrl" : "STRING",
"profilMediumImageUrl" : "STRING",
"modified" : "ISODate",
"updated" :"INT",
"links" : {
"members" : {
},
"events" : {
},
"projects" : {
},
"memberOf" : {
},
"needs" : {
},
"follows" : {
},
},
"modifiedByBatch" : [
{
"NameBatch" : "ISODate"
}
],
"creator" : "STRING",
"created" : "INT"
}
"001" => "L'entité n'a pas de nom",
// Partie concernant l'adresse
"100" => "L'entité n'a aucune informations l'adresse.",
"101" => "L'entité n'a pas de code postal.",
"102" => "L'entité n'a pas de code INSEE.",
"103" => "L'entité n'a pas de commune.",
"104" => "L'entité n'a pas de pays.",
"105" => "L'entité n'a pas de nom rue.",
"106" => "Ce code postal n'existe pas dans notre base de données.",
"110" => "Nous n'avons pas trouver la commune : Vérifier si le code postal et le nom de la commune soient bonnes",
"111" => "Nous n'avons pas réussi a récupérer le nom de la commune car l'INSEE et le code postal ne sont pas compatibles. Vérifier l'adresse.",
"112" => "Nous n'avons pas réussi récupérer le code INSEE. Vérifier l'adresse.",